---
title: List of rules
---

## Possible errors

### Doctype and Head

- [`doctype-first`](doctype-first/): Doctype must be declared first.
- [`doctype-html5`](doctype-html5/): Invalid doctype.
- [`html-lang-require`](html-lang-require/): The HTML lang attribute is required.
- [`head-script-disabled`](head-script-disabled/): The `<script>` tag cannot be used in a tag.
- [`style-disabled`](style-disabled/): `<style>` tags cannot be used.
- [`script-disabled`](script-disabled/): `<script>` tags cannot be used.
- [`title-require`](title-require/): `<title>` must be present in `<head>` tag.

### Attributes

- [`attr-lowercase`](attr-lowercase/): All attribute names must be in lowercase.
- [`attr-no-duplication`](attr-no-duplication/): Elements cannot have duplicate attributes.
- [`attr-no-unnecessary-whitespace`](attr-no-unnecessary-whitespace/): No spaces between attribute names and values.
- [`attr-unsafe-chars`](attr-unsafe-chars/): Attribute values cannot contain unsafe chars.
- [`attr-value-double-quotes`](attr-value-double-quotes/): Attribute values must be in double quotes.
- [`attr-value-single-quotes`](attr-value-single-quotes/): Attribute values must be in single quotes.
- [`attr-value-not-empty`](attr-value-not-empty/): All attributes must have values.
- [`attr-sorted`](attr-sorted/): Attributes should be sorted in order.
- [`attr-whitespace`](attr-whitespace/): No leading or trailing spaces in attribute values.
- [`alt-require`](alt-require/): The alt attribute of an img element must be present and alt attribute of area[href] and input[type=image] must have a value.
- [`input-requires-label`](input-requires-label/): All [ input ] tags must have a corresponding [ label ] tag.

### Tags

- [`tags-check`](tags-check/): Allowing specify rules for any tag and validate that
- [`tag-pair`](tag-pair/): Tag must be paired.
- [`tag-self-close`](tag-self-close/): Empty tags must be self closed.
- [`tagname-lowercase`](tagname-lowercase/): All HTML element names must be in lowercase.
- [`tagname-specialchars`](tagname-specialchars/): Tag names can only contain letters, numbers, "-", ":" or "\_".
- [`empty-tag-not-self-closed`](empty-tag-not-self-closed/): The empty tag should not be closed by self.
- [`src-not-empty`](src-not-empty/): The src attribute of an img(script,link) must have a value.
- [`href-abs-or-rel`](href-abs-or-rel/): An href attribute must be either absolute or relative.

### Id

- [`id-class-ad-disabled`](id-class-ad-disabled/): The id and class attributes cannot use the ad keyword, it will be blocked by adblock software.
- [`id-class-value`](id-class-value/): The id and class attribute values must meet the specified rules.
- [`id-unique`](id-unique/): The value of id attributes must be unique.

### Inline

- [`inline-script-disabled`](inline-script-disabled/): Inline script cannot be used.
- [`inline-style-disabled`](inline-style-disabled/): Inline style cannot be used.

### Formatting

- [`space-tab-mixed-disabled`](space-tab-mixed-disabled/): Do not mix tabs and spaces for indentation.
- [`spec-char-escape`](spec-char-escape/): Special characters must be escaped.
